home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / vidhrdw / tms34061.h < prev    next >
C/C++ Source or Header  |  2000-04-04  |  2KB  |  56 lines

  1. /****************************************************************************
  2.  *                                                                            *
  3.  *    Function prototypes and constants used by the TMS34061 emulator            *
  4.  *                                                                            *
  5.  *  Created by Zsolt Vasvari on 5/26/1998.                                    *
  6.  *                                                                            *
  7.  ****************************************************************************/
  8.  
  9. /* Callback prototypes */
  10.  
  11. /* Return the function code (FS0-FS2) selected by this offset */
  12. typedef int  (*TMS34061_getfunction_t)  (int offset);
  13.  
  14. /* Return the row address (RA0-RA8) selected by this offset */
  15. typedef int  (*TMS34061_getrowaddress_t)(int offset);
  16.  
  17. /* Return the column address (CA0-CA8) selected by this offset */
  18. typedef int  (*TMS34061_getcoladdress_t)(int offset);
  19.  
  20. /* Function called to get a pixel */
  21. typedef int  (*TMS34061_getpixel_t)(int col, int row);
  22.  
  23. /* Function called to set a pixel */
  24. typedef void (*TMS34061_setpixel_t)(int col, int row, int pixel);
  25.  
  26.  
  27.  
  28. struct TMS34061interface
  29. {
  30.     //int reg_addr_mode;               /* One of the addressing mode constants above */
  31.     TMS34061_getfunction_t   getfunction;
  32.     TMS34061_getrowaddress_t getrowaddress;
  33.     TMS34061_getcoladdress_t getcoladdress;
  34.     TMS34061_getpixel_t      getpixel;
  35.     TMS34061_setpixel_t      setpixel;
  36.     int cpu;                         /* Which CPU is the TMS34061 causing interrupts on */
  37.     int (*vertical_interrupt)(void); /* Function called on a vertical interrupt */
  38. };
  39.  
  40.  
  41. /* Initializes the emulator */
  42. int TMS34061_start(struct TMS34061interface *interface);
  43.  
  44. /* Cleans up the emulation */
  45. void TMS34061_stop(void);
  46.  
  47. /* Writes to the 34061 */
  48. WRITE_HANDLER( TMS34061_w );
  49.  
  50. /* Reads from the 34061 */
  51. READ_HANDLER( TMS34061_r );
  52.  
  53. /* Checks whether the display is inhibited */
  54. int TMS34061_display_blanked(void);
  55.  
  56.